﻿using System;

namespace Wombat.Core
{
    public interface IPort: IUniqueIdentifiable
    {
        string Name { get; }
        PortBehavior PortBehavior { get; }
    }

    public interface IObservablePort : IPort, ITagValueObservable
    {
    }

    public interface IObserverPort<in T> : IPort, IObserver<T> where T : ITagValue
    {
    }

    public interface IDuplexPort<in T> : IPort, ITagValueObservable, IObserver<T> where T : ITagValue
    {
    }

}
